The term “enterprise storage” is generally applied to a combination of intelligent storage systems, software and services. Together, such products and services enable large organizations or “enterprises,” e.g., businesses or governmental organizations, to store, retrieve, manage, protect and share information from a variety of major computing environments, including for example, UNIX, Windows and mainframe platforms. Enterprise storage may seek to unify a large segment of an organization's information storage needs into a single system of, for example, many terabytes of storage, rather than have the information widely distributed and associated with diverse individual computers.
Over the past several years, many advantages of enterprise storage have been realized. Among the advantages are lower cost per unit of storage, more efficient use of available storage, consistent backup and restoration methodologies and more favorable security. For these reasons, and others, many organizations have implemented and rely upon enterprise storage as an organizational strategic information technology.
With the widespread use of enterprise storage, an on-going need exists for enterprise storage users to evaluate the performance of existing enterprise storage systems and new offerings into the marketplace. Further, manufacturers of enterprise storage systems, both hardware and software, have a need to evaluate the performance of new and competitive offerings.
Unfortunately, conventional performance measuring or “benchmarking” products typically do not directly measure the performance of an enterprise storage system. For example, one well-known load testing product is LoadRunner®, commercially available from Mercury Interactive Corporation of Sunnyvale, Calif. This product is a load testing tool that predicts application system behavior and performance. It exercises an entire enterprise infrastructure (for example, including processors and network links) by emulating thousands of users and employs performance monitors to identify and isolate problems. Such conventional load testing tools are predominately transaction based. For example, they may record typical end-user and other processing tasks and play them back to create a load upon a system. Transaction-based tools model typical transactions that an entire database system may be supporting.
For example, a transaction of on-line commerce may begin with a database search, involving many individual read operations from a storage system, to identify product(s) meeting a search criteria. Continuing the transaction may further require an inquiry of another database to determine a quantity of product in inventory. Completion of the transaction may require additional reads and writes of a storage system to capture customer and billing information.
While conventional transaction-based load testing tools have their applications, they do not directly measure or report on the performance of the storage system itself. As described in the example above, in addition to processing time and network latency, there may be many storage operations, both reading and writing, involved in a transaction. In addition, the number, sequence and timing of storage operations may vary among different types of transactions, according to differing types of transactions supported by an enterprise. Further, certain aspects of a database transaction system designed to improve the performance of transaction processing, for example, disk caching, may mask the actual performance of a storage system.
Accordingly, a need exists to directly measure the performance of an enterprise storage system. A further need exists measuring the performance of an enterprise storage system in a manner that is compatible and complimentary with the tools and processes which make use of an enterprise storage system. A still further need exists for the above mentioned needs to be achieved with a scalable and cross-platform architecture.